Call control for providing targeted content

ABSTRACT

Computer program products, methods, systems, apparatus, and computing entities are provided for providing targeted content to a user. In one embodiment, a method is provided comprising: determining whether a phone number for a digital call involving a mobile device or a user computing entity is one of a plurality of target phone numbers; responsive to determining that the phone number is one of the target phone numbers, identifying content control rules associated with the phone number; responsive to identifying the content control rules, identifying actions to be carried out in accordance with the content control rules, wherein at least one of the actions involves providing the targeted content via a call companion interface available through the mobile device or the user computing entity in response to an occurrence of an idle instance experienced by the user on the digital call while the digital call is connected.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 63/200,141 filed Feb. 17, 2021, the contents of which are herebyincorporated by reference in their entireties.

BACKGROUND

The number of applications resident on mobile devices and othercomputing entities has exploded. With that said, users may decide todownload and install applications for third parties regardless of whatfunctionality is available through the applications. Irrespective ofwhether third party applications are resident on a particular mobiledevice or computing entity, third parties may desire to direct orcontrol various content that may be provided through applications orother interfaces on mobile devices and computing entities associatedwith inbound and/or outbound calls from and to the third parties.

BRIEF SUMMARY

In general, embodiments of the present disclosure provide methods,apparatus, systems, computing devices, computing entities, and/or thelike for providing targeted content to a user. In accordance with oneaspect of the present disclosure, a method is provided. In variousembodiments, the method comprises: determining, via one or moreprocessors, whether a phone number for a digital call involving at leastone of a mobile device or a user computing entity is one of a pluralityof target phone numbers; responsive to determining that the phone numberis one of the plurality of target phone numbers, identifying, via theone or more processors, one or more content control rules associatedwith the phone number; responsive to identifying the one or more contentcontrol rules, identifying, via the one or more processors, one or moreactions to be carried out in accordance with the one or more contentcontrol rules, wherein at least one of the one or more actions involvesproviding the targeted content via a call companion interface availablethrough the at least one of the mobile device or the user computingentity in response to an occurrence of an idle instance experienced bythe user while on the digital call; identifying, via the one or moreprocessors, the occurrence of the idle instance experienced by the userwhile on the digital call; and responsive to identifying the occurrenceof the idle instance, providing, via the one or more processors, thetargeted content for display via the call companion interface availablethrough the at least one of the mobile device or the user computingentity.

In accordance with another aspect of the present disclosure, anapparatus is provided. In various embodiments, the apparatus includes atleast one processor and at least one memory including program code. Theat least one memory and the program code are configured to, with the atleast one processor, cause the apparatus to at least: determine whethera phone number for a digital call involving at least one of a mobiledevice or a user computing entity is one of a plurality of target phonenumbers; responsive to determining that the phone number is one of theplurality of target phone numbers, identify one or more content controlrules associated with the phone number; responsive to identifying theone or more content control rules, identify one or more actions to becarried out in accordance with the one or more content control rules,wherein at least one of the one or more actions involves providing thetargeted content via a call companion interface available through the atleast one of the mobile device or the user computing entity in responseto an occurrence of an idle instance experienced by the user while onthe digital call; identify the occurrence of the idle instanceexperienced by the user while on the digital call; and responsive toidentifying the occurrence of the idle instance, provide the targetedcontent for display via the call companion interface available throughthe at least one of the mobile device or the user computing entity.

In accordance with yet another aspect of the present disclosure, acomputer program product is provided. In particular embodiments, thecomputer program product includes a non-transitory computer storagemedium having instructions stored therein. The instructions beingconfigured to cause one or more processors to at least performoperations configured to: determine whether a phone number for a digitalcall involving at least one of a mobile device or a user computingentity is one of a plurality of target phone numbers; responsive todetermining that the phone number is one of the plurality of targetphone numbers, identify one or more content control rules associatedwith the phone number; responsive to identifying the one or more contentcontrol rules, identify one or more actions to be carried out inaccordance with the one or more content control rules, wherein at leastone of the one or more actions involves providing the targeted contentvia a call companion interface available through the at least one of themobile device or the user computing entity in response to an occurrenceof an idle instance experienced by the user while on the digital call;identify the occurrence of the idle instance experienced by the userwhile on the digital call; and responsive to identifying the occurrenceof the idle instance, provide the targeted content for display via thecall companion interface available through the at least one of themobile device or the user computing entity.

As detailed further herein, in some embodiments, the one or moreprocessors are executing on the at least one of the mobile device or theuser computing entity. In some embodiments, the one or more processorsare executing on a call management computing entity (or otherappropriate computing entity) remote from the at least one of the mobiledevice or the user computing entity. In some embodiments, the apparatuscomprises the at least one of the mobile device or the user computingentity. In some embodiments, the apparatus comprises a call managementcomputing entity (or other appropriate computing entity) remote from theat least one of the mobile device or the user computing entity.

In particular embodiments, identifying the occurrence of the idleinstance may involve determining that the idle instance satisfies aconfigurable idle threshold, and responsive to the idle instancesatisfying the configurable idle threshold, identifying the occurrenceof the idle instance. In some embodiments, the configurable idlethreshold may be an amount of idle time and determining the idleinstance satisfies the configurable idle threshold may involveidentifying a start of the idle instance, and determining the userexperiencing the idle instance from the start of the idle instance forthe amount of idle time. For instance, in one embodiment, determiningthe user experiencing the idle instance from the start of the idleinstance for the amount of idle time may involve detecting an absence ofthe user speaking on the digital call from the start of the idleinstance for the amount of idle time via at least one of artificialintelligence or an audio feature of the at least one of the digitalcall. In other embodiments, identifying the occurrence of the idleinstance may involve processing one or more features of the at least oneof the digital call using a machine learning model to generate aprediction of the occurrence of the idle instance, and identifying theoccurrence of the idle instance based at least in part on theprediction.

The targeted content may be of various forms as described furtherherein. For instance, in particular embodiments, the targeted contentmay be a webpage, and the call companion interface comprises a browserthrough which the webpage is accessed. Here, the targeted content may bedisplayed by causing the browser resident on the at least one of themobile device or the user computing entity to launch to a web address(e.g., URL) for the webpage to access the webpage. In other embodiments,the targeted content may be application-enabled content, and the callcompanion interface is an application resident on the at least one ofthe mobile device or the user computing entity. Here, the targetedcontent may be displayed via the call companion interface by providingthe application-enabled content to the at least one of the mobile deviceor the user computing entity and causing the application to launch todisplay the application-enabled content. Yet, in other embodiments,providing the targeted content for display via the call companioninterface may involve providing a hyperlink through a communicationchannel that is selectable through the at least one of the mobile deviceor user computing entity to access the targeted content, and responsiveto a selection of the hyperlink, causing the call companion interface tolaunch to display the targeted content.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the disclosure in general terms, reference willnow be made to the accompanying drawings, which are not necessarilydrawn to scale, and wherein:

FIG. 1 is a diagram of a system architecture that can be used topractice embodiments of the present disclosure.

FIG. 2 is an exemplary schematic diagram of a computing entity that canbe used to practice embodiments of the present disclosure.

FIG. 3 is an exemplary schematic diagram of a mobile device the can beused to practice embodiment of the present disclosure.

FIG. 4 is a data structure for storing phone numbers (e.g., target phonenumbers), associated targeted content, and content control rules thatcan be used in accordance with various embodiments of the presentdisclosure.

FIG. 5 is a flowchart illustrating operations and processes that can beused in accordance with various embodiments of the present disclosure.

FIGS. 6 and 7 show targeted content provided in accordance with variousembodiments of the present disclosure.

DETAILED DESCRIPTION

Various embodiments of the present disclosure are now described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the disclosure are shown. Indeed, thedisclosure may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. The term “or” is used herein in both the alternativeand conjunctive sense, unless otherwise indicated. The terms“illustrative” and “exemplary” are used to be examples with noindication of quality level. Like numbers refer to like elementsthroughout.

I. General Overview

Embodiments of the present disclosure provide methods, systems,apparatus, computer program products, and/or the like for enabling athird party to provide targeted content over a separate companioninterface in conjunction with particular digital calls. A digital callcan be a voice call, video call, and/or the like. For example, thedigital call may be a voice call provided via call functionalityavailable through a phone device, a voice or video call provided via acommunication application such as Facetime®, Duo®, Zoom, etc., aweb-based call provided via a web-based utility, and/or the like.Accordingly, in various embodiments, a third party may register aparticular phone number as a target number and provide one or morecontent control rules. Here, the content control rules may identify acall companion interface through which targeted content is provided, thetargeted content, and/or one or more conditions for providing thetargeted content via the call companion interface. The targeted contentmay include various forms of content such as webpages, videos, images,files, tables, other forms of communication and/or the like. Inaddition, the conditions for providing the targeted content may involvemechanisms such as triggering events and/or detection of conditions suchas detection of a party on a call being idle. Accordingly, it should beunderstood that a variety of content control rules and mechanisms usedin identifying when targeted content should be provided may beimplemented, as appropriate for the application. Various aspects ofembodiments of the present disclosure will now be described.

II. Computer Program Products, Methods, and Computing Entities

Embodiments of the present disclosure may be implemented in variousways, including as computer program products that comprise articles ofmanufacture. A computer program product may include a non-transitorycomputer-readable storage medium storing applications, programs, programmodules, scripts, source code, program code, object code, byte code,compiled code, interpreted code, machine code, executable instructions,and/or the like (also referred to herein as executable instructions,instructions for execution, computer program products, program code,and/or similar terms used herein interchangeably). Such non-transitorycomputer-readable storage media include all computer-readable media(including volatile and non-volatile media).

In one embodiment, a non-volatile computer-readable storage medium mayinclude a floppy disk, flexible disk, hard disk, solid-state storage(SSS) (e.g., a solid state drive (SSD), solid state card (SSC), solidstate module (SSM), enterprise flash drive, magnetic tape, or any othernon-transitory magnetic medium, and/or the like. A non-volatilecomputer-readable storage medium may also include a punch card, papertape, optical mark sheet (or any other physical medium with patterns ofholes or other optically recognizable indicia), compact disc read onlymemory (CD-ROM), compact disc-rewritable (CD-RW), digital versatile disc(DVD), Blu-ray disc (BD), any other non-transitory optical medium,and/or the like. Such a non-volatile computer-readable storage mediummay also include read-only memory (ROM), programmable read-only memory(PROM), erasable programmable read-only memory (EPROM), electricallyerasable programmable read-only memory (EEPROM), flash memory (e.g.,Serial, NAND, NOR, and/or the like), multimedia memory cards (MMC),secure digital (SD) memory cards, SmartMedia cards, CompactFlash (CF)cards, Memory Sticks, and/or the like. Further, a non-volatilecomputer-readable storage medium may also include conductive-bridgingrandom access memory (CBRAM), phase-change random access memory (PRAM),ferroelectric random-access memory (FeRAM), non-volatile random-accessmemory (NVRAM), magnetoresistive random-access memory (MRAM), resistiverandom-access memory (RRAM), Silicon-Oxide-Nitride-Oxide-Silicon memory(SONOS), floating junction gate random access memory (FJG RAM),Millipede memory, racetrack memory, and/or the like.

In one embodiment, a volatile computer-readable storage medium mayinclude random access memory (RAM), dynamic random access memory (DRAM),static random access memory (SRAM), fast page mode dynamic random accessmemory (FPM DRAM), extended data-out dynamic random access memory (EDODRAM), synchronous dynamic random access memory (SDRAM), double datarate synchronous dynamic random access memory (DDR SDRAM), double datarate type two synchronous dynamic random access memory (DDR2 SDRAM),double data rate type three synchronous dynamic random access memory(DDR3 SDRAM), Rambus dynamic random access memory (RDRAM), TwinTransistor RAM (TTRAM), Thyristor RAM (T-RAM), Zero-capacitor (Z-RAM),Rambus in-line memory module (RIMM), dual in-line memory module (DIMM),single in-line memory module (SIMM), video random access memory (VRAM),cache memory (including various levels), flash memory, register memory,and/or the like. It will be appreciated that where embodiments aredescribed to use a computer-readable storage medium, other types ofcomputer-readable storage media may be substituted for or used inaddition to the computer-readable storage media described above.

As should be appreciated, various embodiments of the present disclosuremay also be implemented as methods, apparatus, systems, computingdevices, computing entities, and/or the like. As such, embodiments ofthe present disclosure may take the form of an apparatus, system,computing device, computing entity, and/or the like executinginstructions stored on a computer-readable storage medium to performcertain steps or operations. Thus, embodiments of the present disclosuremay also take the form of an entirely hardware embodiment, an entirelycomputer program product embodiment, and/or an embodiment that comprisescombination of computer program products and hardware performing certainsteps or operations.

Embodiments of the present disclosure are described below with referenceto block diagrams and flowchart illustrations. Thus, it should beunderstood that each block of the block diagrams and flowchartillustrations may be implemented in the form of a computer programproduct, an entirely hardware embodiment, a combination of hardware andcomputer program products, and/or apparatus, systems, computing devices,computing entities, and/or the like carrying out instructions,operations, steps, and similar words used interchangeably (e.g., theexecutable instructions, instructions for execution, program code,and/or the like) on a computer-readable storage medium for execution.For example, retrieval, loading, and execution of code may be performedsequentially such that one instruction is retrieved, loaded, andexecuted at a time. In some exemplary embodiments, retrieval, loading,and/or execution may be performed in parallel such that multipleinstructions are retrieved, loaded, and/or executed together. Thus, suchembodiments can produce specifically-configured machines performing thesteps or operations specified in the block diagrams and flowchartillustrations. Accordingly, the block diagrams and flowchartillustrations support various combinations of embodiments for performingthe specified instructions, operations, or steps.

III. Exemplary System Architecture

FIG. 1 provides an illustration of an exemplary embodiment of a systemarchitecture that may be used in accordance with various embodiments ofthe present disclosure. As shown in FIG. 1, the architecture may includeone or more call management computing entities 100, one or more mobiledevices 105, one or more mobile device communications networks(comprising mobile switching centers (MSCs) 110, service control points(SCPs) 115, and/or the like), one or more third party computing entities120, one or more user computing entities 125, and one or more networks130. It should be noted that any of these devices/entities can be acaller/calling device/entity (the device/entity originating a call)and/or a callee device/entity (the device/entity receiving a call). Eachof these components, entities, devices, systems, and similar words usedherein interchangeably may be in direct or indirect communication with,for example, one another over the same or different wired or wirelessnetworks. Additionally, while FIG. 1 illustrates the various systementities as separate, standalone entities, various embodiments are notlimited to this particular architecture.

1. Call Management Computing Entity

FIG. 2 provides a schematic representative of a call managementcomputing entity 100 that can be used in conjunction with embodiments ofthe present disclosure. In general, the terms computing entity, entity,device, system, and/or similar words used herein interchangeably mayrefer to, for example, one or more computers, computing entities,desktops, mobile phones, tablets, phablets, notebooks, laptops,distributed systems, gaming consoles (e.g., Xbox, Play Station, Wii),watches, glasses, key fobs, radio frequency identification (RFID) tags,ear pieces, scanners, televisions, dongles, cameras, wristbands, kiosks,input terminals, servers or server networks, blades, gateways, switches,processing devices, processing entities, set-top boxes, relays, routers,network access points, base stations, the like, and/or any combinationof devices or entities adapted to perform the functions, operations,and/or processes described herein. Such functions, operations, and/orprocesses may include, for example, transmitting, receiving, operatingon, processing, displaying, storing, determining, creating/generating,monitoring, evaluating, comparing, and/or similar terms used hereininterchangeably. In one embodiment, these functions, operations, and/orprocesses can be performed on data, content, information, and/or similarterms used herein interchangeably.

As indicated, in one embodiment, the call management computing entity100 may also include one or more communications interfaces 220 forcommunicating with various computing entities, such as by communicatingdata, content, information, and/or similar terms used hereininterchangeably that can be transmitted, received, operated on,processed, displayed, stored, and/or the like.

As shown in FIG. 2, in one embodiment, the call management computingentity 100 may include or be in communication with one or moreprocessing elements 205 (also referred to as processors, processingcircuitry, and/or similar terms used herein interchangeably) thatcommunicate with other elements within the call management computingentity 100 via a bus, for example. As will be understood, the processingelement 205 may be embodied in a number of different ways. For example,the processing element 205 may be embodied as one or more complexprogrammable logic devices (CPLDs), microprocessors, multi-coreprocessors, coprocessing entities, application-specific instruction-setprocessors (ASIPs), and/or controllers. Further, the processing element205 may be embodied as one or more other processing devices orcircuitry. The term circuitry may refer to an entirely hardwareembodiment or a combination of hardware and computer program products.Thus, the processing element 205 may be embodied as integrated circuits,application specific integrated circuits (ASICs), field programmablegate arrays (FPGAs), programmable logic arrays (PLAs), hardwareaccelerators, other circuitry, and/or the like. As will therefore beunderstood, the processing element 205 may be configured for aparticular use or configured to execute instructions stored in volatileor non-volatile media or otherwise accessible to the processing element205. As such, whether configured by hardware or computer programproducts, or by a combination thereof, the processing element 205 may becapable of performing steps or operations according to embodiments ofthe present disclosure when configured accordingly.

In one embodiment, the call management computing entity 100 may furtherinclude or be in communication with non-volatile media (also referred toas non-volatile storage, memory, memory storage, memory circuitry and/orsimilar terms used herein interchangeably). In one embodiment, thenon-volatile storage or memory may include one or more non-volatilestorage or memory media 210 as described above, such as hard disks, ROM,PROM, EPROM, EEPROM, flash memory, MMCs, SD memory cards, Memory Sticks,CBRAM, PRAM, FeRAM, RRAM, SONOS, racetrack memory, and/or the like. Aswill be recognized, the non-volatile storage or memory media may storedatabases, database instances, database management systems, data,applications, programs, program modules, scripts, source code, objectcode, byte code, compiled code, interpreted code, machine code,executable instructions, and/or the like. The term database, databaseinstance, database management system, and/or similar terms used hereininterchangeably may refer to a collection of records or data that isstored in a computer-readable storage medium using one or more databasemodels, such as a hierarchical database model, network model, relationalmodel, entity—relationship model, object model, document model, semanticmodel, graph model, and/or the like.

In one embodiment, the call management computing entity 100 may furtherinclude or be in communication with volatile media (also referred to asvolatile storage, memory, memory storage, memory circuitry and/orsimilar terms used herein interchangeably). In one embodiment, thevolatile storage or memory may also include one or more volatile storageor memory media 215 as described above, such as RAM, DRAM, SRAM, FPMDRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, RIMM,DIMM, SIMM, VRAM, cache memory, register memory, and/or the like. Aswill be recognized, the volatile storage or memory media may be used tostore at least portions of the databases, database instances, databasemanagement systems, data, applications, programs, program modules,scripts, source code, object code, byte code, compiled code, interpretedcode, machine code, executable instructions, and/or the like beingexecuted by, for example, the processing element 205. Thus, thedatabases, database instances, database management systems, data,applications, programs, program modules, scripts, source code, objectcode, byte code, compiled code, interpreted code, machine code,executable instructions, and/or the like may be used to control certainaspects of the operation of the call management computing entity 100with the assistance of the processing element 205 and operating system.

As indicated, in one embodiment, the call management computing entity100 may also include one or more communications interfaces 220 forcommunicating with or various computing entities, such as bycommunicating data, content, information, and/or similar terms usedherein interchangeably that can be transmitted, received, operated on,processed, displayed, stored, and/or the like. Such communication may beexecuted using a wired data transmission protocol, such as fiberdistributed data interface (FDDI), digital subscriber line (DSL),Ethernet, asynchronous transfer mode (ATM), frame relay, data over cableservice interface specification (DOCSIS), or any other wiredtransmission protocol. Similarly, the call management computing entity100 may be configured to communicate via wireless external communicationnetworks using any of a variety of protocols, such as general packetradio service (GPRS), Universal Mobile Telecommunications System (UMTS),Code Division Multiple Access 2000 (CDMA2000), CDMA2000 1× (1×RTT),Wideband Code Division Multiple Access (WCDMA), TimeDivision-Synchronous Code Division Multiple Access (TD-SCDMA), Long TermEvolution (LTE), Evolved Universal Terrestrial Radio Access Network(E-UTRAN), Evolution-Data Optimized (EVDO), High Speed Packet Access(HSPA), High-Speed Downlink Packet Access (HSDPA), IEEE 802.11 (Wi-Fi),802.16 (WiMAX), ultra-wideband (UWB), infrared (IR) protocols, Bluetoothprotocols, wireless universal serial bus (USB) protocols, and/or anyother wireless protocol. Via such communication protocols, the callmanagement computing entity 100 can communicate with the mobile device105, the third party computing entity 120, and/or various othercomputing entities.

Although not shown, the call management computing entity 100 may includeor be in communication with one or more input elements, such as akeyboard input, a mouse input, a touch screen/display input, audioinput, pointing device input, joystick input, keypad input, and/or thelike. The call management computing entity 100 may also include or be incommunication with one or more output elements (not shown), such asaudio output, video output, screen/display output, motion output,movement output, and/or the like.

As will be appreciated, one or more of the call management computingentity's 100 components may be located remotely from other callmanagement computing entity 100 components, such as in a distributedsystem. Furthermore, one or more of the components may be combined andadditional components performing functions described herein may beincluded in the call management computing entity 100. Thus, the callmanagement computing entity 100 can be adapted to accommodate a varietyof needs and circumstances.

2. Exemplary Mobile Device

FIG. 3 provides an illustrative schematic representative of a mobiledevice 105 that can be used in conjunction with embodiments of thepresent disclosure. In general, the terms device, system, computingentity, entity, and/or similar words used herein interchangeably mayrefer to, for example, one or more computers, computing entities,desktops, mobile phones, tablets, phablets, notebooks, laptops,distributed systems, gaming consoles (e.g., Xbox, Play Station, Wii),watches, glasses, key fobs, RFID tags, ear pieces, scanners,televisions, dongles, cameras, wristbands, kiosks, input terminals,servers or server networks, blades, gateways, switches, processingdevices, processing entities, set-top boxes, relays, routers, networkaccess points, base stations, the like, and/or any combination ofdevices or entities adapted to perform the functions, operations, and/orprocesses described herein. As shown in FIG. 3, the mobile device 105can include an antenna 312, a transmitter 304 (e.g., radio), a receiver306 (e.g., radio), and a processing element 308 (such as those describedabove with regard to the call management computing entity 100) thatprovides signals to and receives signals from the transmitter 304 andreceiver 306, respectively.

The signals provided to and received from the transmitter 304 and thereceiver 306, respectively, may include signaling information inaccordance with air interface standards of applicable wireless systems.In this regard, the mobile device 105 may be capable of operating withone or more air interface standards, communication protocols, modulationtypes, and access types. More particularly, the mobile device 105 mayoperate in accordance with any of a number of wireless communicationstandards and protocols, such as those described above with regard tothe call management computing entity 100. In a particular embodiment,the mobile device 105 may operate in accordance with multiple wirelesscommunication standards and protocols, such as UMTS, CDMA2000, 1×RTT,WCDMA, TD-SCDMA, LTE, E-UTRAN, EVDO, HSPA, HSDPA, Wi-Fi, WiMAX, UWB, IR,Bluetooth, USB, and/or the like. Via such communication protocols, themobile device 105 can communicate with the call management computingentity 100, the third party computing entity 120, and/or various othercomputing entities.

Via these communication standards and protocols, the mobile device 105can communicate with various other entities using concepts such asUnstructured Supplementary Service Data (USSD), Short Message Service(SMS), Multimedia Messaging Service (MMS), Dual-Tone Multi-FrequencySignaling (DTMF), and/or Subscriber Identity Module Dialer (SIM dialer).The mobile device 105 can also download changes, add-ons, and updates,for instance, to its firmware, software (e.g., including executableinstructions, applications, program modules), and operating system. Inone embodiment, the mobile device 105 may be executing an applicationinitiating program that is resident on the mobile device 105. In oneembodiment, the application initiating program may comprise, beassociated with, or be in communication with an application initiatingdatabase. The application initiating program may also be associated withor be in communication with the call management computing entity 100that comprises an application initiating database.

According to one embodiment, the mobile device 105 may include locationdetermining aspects, devices, modules, functionalities, and/or similarwords used herein interchangeably. For example, the mobile device 105may include outdoor positioning aspects, such as a location moduleadapted to acquire, for example, latitude, longitude, altitude, geocode,course, direction, heading, speed, universal time (UTC), date, and/orvarious other information/data. In one embodiment, the location modulecan acquire data, sometimes known as ephemeris data, by identifying thenumber of satellites in view and the relative positions of thosesatellites. The satellites may be a variety of different satellites,including Low Earth Orbit (LEO) satellite systems, Department of Defense(DOD) satellite systems, the European Union Galileo positioning systems,the Chinese Compass navigation systems, Indian Regional Navigationalsatellite systems, and/or the like. Alternatively, the locationinformation can be determined by triangulating the mobile device's 105position in connection with a variety of other systems, includingcellular towers, Wi-Fi access points, and/or the like. Similarly, themobile device 105 may include indoor positioning aspects, such as alocation module adapted to acquire, for example, latitude, longitude,altitude, geocode, course, direction, heading, speed, time, date, and/orvarious other information/data. Some of the indoor systems may usevarious position or location technologies including RFID tags, indoorbeacons or transmitters, Wi-Fi access points, cellular towers, nearbycomputing devices (e.g., smartphones, laptops) and/or the like. Forinstance, such technologies may include the iBeacons, Gimbal proximitybeacons, Bluetooth Low Energy (BLE) transmitters, NFC transmitters,and/or the like. These indoor positioning aspects can be used in avariety of settings to determine the location of someone or something towithin inches or centimeters.

The mobile device 105 may also comprise a user interface (that caninclude a display 316 coupled to a processing element 308) and/or a userinput interface (coupled to a processing element 308). For example, theuser interface may be a user application, browser, graphical userinterface, and/or similar words used herein interchangeably executing onand/or accessible via the mobile device 105 to interact with and/orcause display of targeted content, as described herein. The user inputinterface can comprise any of a number of devices allowing the mobiledevice 105 to receive data, such as a keypad 318 (hard or soft), a touchdisplay, voice/speech or motion interfaces, or other input device. Inembodiments including a keypad 318, the keypad 318 can include (or causedisplay of) the conventional numeric (0-9) and related keys (#, *), andother keys used for operating the mobile device 105 and may include afull set of alphabetic keys or set of keys that may be activated toprovide a full set of alphanumeric keys. In addition to providing input,the user input interface can be used, for example, to activate ordeactivate certain functions, such as screen savers and/or sleep modes.

The mobile device 105 can also include volatile storage or memory 322and/or non-volatile storage or memory 324, which can be embedded and/ormay be removable. For example, the non-volatile memory may be ROM, PROM,EPROM, EEPROM, flash memory, MMCs, SD memory cards, Memory Sticks,CBRAM, PRAM, FeRAM, RRAM, SONOS, racetrack memory, and/or the like. Thevolatile memory may be RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDRSDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, RIMM, DIMM, SIMM, VRAM, cachememory, register memory, and/or the like. The volatile and non-volatilestorage or memory can store databases, database instances, databasemanagement systems, data, applications, programs, program modules,scripts, source code, object code, byte code, compiled code, interpretedcode, machine code, executable instructions, and/or the like toimplement the functions of the mobile device 105.

In another embodiment, the mobile device 105 may include one or morecomponents that are functionally similar to those of the call managementcomputing entity 100, as described in greater detail above.

3. Exemplary Mobile Device Communications Networks

In various embodiments, the mobile device communications networks mayinclude one or more MSCs 110, SCPs 115, and/or the like for callcreation, management, and termination. The MSCs 110 and SCPs 115 mayinclude one or more components that are functionally similar to thosedescribed above with respect to the call management computing entity 100and/or the mobile device 105. For example, in one embodiment, entitiesin the mobile device communications networks may each include one ormore (1) processing elements, (2) memory storage areas, (3) networkinterfaces, (4) antennae, (5) transceivers, and/or (6) other components.In one embodiment, although not shown, the MSC 110 may be connected toone or more radio access networks (RAN), including one or more one ormore base station controllers (BSC) and one or more base transceiverstations (BTS). As will be recognized, the mobile device communicationsnetworks may support a variety of network types (e.g., wired, wireless,and/or the like) and various communications standards and protocols(e.g., UMTS, CDMA2000, 1×RTT, WCDMA, TD-SCDMA, LTE, E-UTRAN, EVDO, HSPA,HSDPA, Wi-Fi, WiMAX, UWB, Customized Application of Mobile EnhancedLogic (CAMEL), Session Initiation Protocol (SIP), and/or the like).

4. Exemplary Third Party Computing Entity

A third party may be an individual, a family, a company, anorganization, an entity, a department within an organization, arepresentative of an organization and/or person, and/or the like. Invarious embodiments, each third party computing entity 120 may includeone or more components that are functionally similar to those of thecall management computing entity 100 and/or the mobile device 105. Forexample, each third party computing entity 120 may include one or moreprocessing elements, one or more display device/input devices (e.g.,including user interfaces), volatile and non-volatile storage or memory,and/or one or more communications interfaces. This may enable to thethird party computing entity 120 to communicate with various othercomputing entities, such as call management computing entities 100,mobile devices 105, and/or various other computing entities. Thesearchitectures are provided for exemplary purposes only and are notlimiting to the various embodiments. The term computing entity may referto one or more computers, computing devices, computing entities, mobilephones, desktops, tablets, notebooks, laptops, distributed systems,servers, blades, gateways, switches, processing devices, processingentities, relays, routers, network access points, base stations, thelike, and/or any combination of devices or entities adapted to performthe functions described herein.

It should also be understood that the third party computing entity 120may serve as the call management computing entity 100 in particularembodiments. For example, a third party may implement variousembodiments of the disclosure within its own systems and/or environment.Therefore, in these particular embodiments, the third party computingentity 120 may perform the functionality of the call managementcomputing entity 100 as detailed herein.

5. Exemplary User Computing Entity

As detailed further herein, a user may make use of a user computingentity 125, similar to a user making use of a mobile device 105. Invarious embodiments, each user computing entity 125 may include one ormore components that are functionally similar to those of the callmanagement computing entity 100 and/or the mobile device 105. Forexample, each user computing entity 125 may include one or moreprocessing elements, one or more display device/input devices (e.g.,including user interfaces), volatile and non-volatile storage or memory,and/or one or more communications interfaces. This may enable to theuser computing entity 125 to communicate with various other computingentities, such as call management computing entities 100, third partycomputing entity 120, and/or various other computing entities. Inaddition, the user computing entity 125 may include a softphone, whichmay or may not be connected to a headset. The softphone may serve as avirtual phone implemented by an application program executing on theuser computing entity 125. Accordingly, the softphone may enable a userto engage in digital calls. These architectures are provided forexemplary purposes only and are not limiting to the various embodiments.The term computing entity may refer to one or more computers, computingdevices, computing entities, mobile phones, desktops, tablets,notebooks, laptops, distributed systems, servers, blades, gateways,switches, processing devices, processing entities, relays, routers,network access points, base stations, the like, and/or any combinationof devices or entities adapted to perform the functions describedherein.

6. Additional Exemplary Entities

Although not shown, embodiments of the present disclosure may includeone or more origination switches, one or more Internetwork PacketExchanges (IPXs), one or more destination switches, one or more billingssystems (e.g., visited operator billing computing entities,clearinghouse billing computing entities, record processing computingentities, and home operator billing computing entities), and one or morepublic switch networks (PSTNs). Each of these entities may have one ormore of the above-described components, such as (1) processing elements,(2) memory, (3) network interfaces, (4) transceivers, and/or (5) variousother components. As will be recognized, each of these entities maysupport a variety of network types and various communications standardsand protocols.

IV. Exemplary System Operation

Reference will now be made to FIGS. 4-7. FIG. 4 is an example of a datastructure that may be used in accordance with various embodiments of thepresent disclosure. FIG. 5 is a flowchart illustrating operations andprocesses that may be performed for providing targeted content through acall companion interface based at least in part on inbound or outboundphone numbers and/or content control rules according to variousembodiments of the disclosure. FIGS. 6 and 7 show examples of targetedcontent provided via call companion interfaces in accordance withvarious embodiments of the present disclosure.

1. Registration

In one embodiment, to take advantage of the features described herein, athird party such as a company or organization may need to register forservices with a call management computing entity 100. The servicesprovided by the call management computing entity 100 may be provided ona fee basis, a subscription basis, a pay-per-use basis, and/or the like.As will be recognized, a variety of other approaches and techniques canbe used to adapt to various needs and circumstances. For example, aspreviously discussed, a third party may implement the functionality ofthe call management computing entity 100 (or entity similar thereof)within its own system(s) without the need of an external entity toprovide the services of the call management computing entity 100 (e.g.,the third party computing entity 120 may serve as the call managementcomputing entity 100 in various embodiments).

As part of or after registration, the third party (e.g., operating athird party computing entity 120) may provide one or more phone numbers(e.g., one or more target phone numbers) associated with the third partyand for which the third party would like to provide targeted contentsimultaneous to, during, and/or after calling or receiving a call fromsuch numbers. The target phone numbers provided by the third party maybe stored by the call management computing entity 100 and/or may bestored locally on one or more mobile devices 105 and/or user computingentities 125 of users. For example, Delta, the airline, may beregistering and while registering, provide a target phone number of1-800-987-2435. In addition, Chase bank may be registering and whileregistering, provide a target phone number of 1-888-699-4357. As will berecognized, a third party is not limited to providing a single phonenumber; rather, multiple phone numbers (e.g., target phone numbers) maybe registered. Further, the phone numbers may include country codes,area codes, region codes, and/or the like.

In addition to the one or more target phone numbers, the third party mayalso identify targeted content to be provided through a call companioninterface as described further herein to users of mobile devices 105and/or user computing entities 125 through which the users are placingcalls (e.g., Voice over Internet Protocol (VoIP) calls). For instance,such content may identify webpages, text, images, videos, files, tables,application functionality, other forms of communication, and/or thelike. In particular embodiments, the call companion interface throughwhich the targeted content is provided on the users' mobile devices 105and/or user computing entities 125 serves as an additional source ofcontent separate from the calls. Accordingly, the targeted content maybe provided through the call companion interface to users who areactively and/or were engaged in digital calls. For example, targetedcontent may be provided through: (1) one or more web addresses (e.g.,uniform resource locators (URLs) or uniform resource identifiers (URIs))to which a browser serving as a call companion interface on a user'smobile device 105 and/or user computing entity 125 can be directed toenabled display of one or more webpages; (2) an application resident ona user's mobile device 105 and/or user computing entity 125 that can beinitiated to serve as a call companion interface; and/or (3) acommunication channel available on a user's mobile device 105 and/oruser computing entity 125 that enables the user to initiate a callcompanion interface. Accordingly, the targeted content may be providedto users of the mobile devices 105 and/or user computing entities 125(e.g., executing a targeted content program) who are calling orreceiving calls from target numbers.

For example, Delta's target phone number 1-800-987-2435 may be used forcalls associated with making flight reservations. For a mobile device105 and/or user computing entity 125 calling or receiving a call from1-800-987-2435, Delta may want to initiate targeted content providedthrough a call companion interface in the form of an Internet browserresident on a user's mobile device 105 and/or user computing entity 125that is initialized, launched, opened, and/or the like as a source ofcontent for the user in addition to content received over the call. Forinstance, Delta may identify a web address (e.g.,www.deltacallcomp.com/reservations) used to initialize the callcompanion interface in the form of the browser to provide the targetedcontent via one or more webpages. In addition, Chase bank's target phonenumber 1-888-699-4357 may be used for customer service calls withexisting customers. For a mobile device 105 and/or user computing entity125 calling or receiving a call from 1-888-699-4357, Chase may want toprovide targeted content in the form of a document, image, and/or videoas a source of content for the user in addition to content received overthe call. Here, Chase may identify the targeted content as a documentfile, image file, and/or video file compatible for display via a callcompanion interface in the form of an application resident on a user'smobile device 105 and/or user computing entity 125 that can beinitiated, launched, opened, and/or the like to display the documentfile, image file, and/or video file. Furthermore, Chase may also want toprovide targeted content by providing a mechanism through which a usercan access the targeted content via a call companion interface as anadditional source of content. For example, Chase may want to provide thetargeted content via a hyperlink that is sent in a text message and/oremail to a user's mobile device 105 and/or user computing entity 125that when selected by the user, launches a call companion interface(e.g., an Internet browser) to access the targeted content (e.g., one ormore webpages).

Accordingly, the targeted content may take various forms, providevarious information and/or functionality, and/or be provided throughvarious call companion interfaces. For example, the targeted content mayprovide functionality to perform a task such as book airline tickets.Here, the targeted content may be provided to a user through a callcompanion interface in the form of a browser on the user's mobile device105 and/or user computing entity 125 enabling access to one or morewebpages with the functionality as a result of the user expressing on acall with a Delta representative that he or she would like to book aflight. In another instance, the content may provide a digital couponthat can be used for a purchase made by a user. Here, the digital couponmay be provided through a call companion interface accessible via anembedded link sent in a text message and/or email to the user's mobiledevice 105 and/or user computing entity 125 as a result of the usercalling a target phone number for a retailer to gather information on aparticular product offered for sale by the retailer. In this instance,the digital coupon may be sent in the text message and/or email once theuser has completed the call to entice the user to purchase the product.Readers will appreciate third parties can establish several differenttypes of targeted content to be provided through different types of callcompanion interfaces in light of this disclosure.

In addition to the one or more target phone numbers and targetedcontent, the third party in various embodiments may also define contentcontrol rules for providing the targeted content to users. For example,Delta may define flight reservation content that provides functionalityto allow a caller to make or change a flight reservation (e.g., awebpage providing such functionality). Here, Delta may define a contentcontrol rule indicating that for any mobile device 105 and/or usercomputing entity 125 that calls 1-800-987-2435 between 19:00-07:00Eastern Standard Time, Delta wants to provide targeted content through acall companion interface in the form of an Internet browser on themobile device 105 and/or user computing entity 125. This may allow Deltato provide an additional mechanism to users who are calling to make orchange flight reservations during non-business hours to do so via thetargeted content provided through the call companion interface whencustomer service representatives may not be available to handle suchcalls. Accordingly, by providing targeted content using this form of acall companion interface, Delta may be able to handle customer needsusing alternative options in lieu of calls involving customer servicerepresentatives for a variety of purposes.

In another example, Chase bank may define targeted content onpromotional information on different banking products being offered bythe bank that can be provided via a call companion interface in the formof a banking application resident on a user's mobile device 105 and/oruser computing entity 125. In this example, Chase may define a contentcontrol rule indicating that for any mobile device 105 and/or usercomputing entity 125 that calls or receives a call from 1-888-699-4357in which the user of the mobile device 105 and/or user computing entity125 has downloaded and registered Chase's banking application, Chasewants to provide the targeted content presenting the promotionalinformation that can be displayed through the banking application on themobile device 105 and/or user computing entity 125.

In particular embodiments, the content control rules may indicateproviding targeted content based at least in part on conditions observedduring the call. For example, if a user has called to discuss differentmortgage rates currently being offered by the bank and has selected anoption to speak to a customer service representative about the rates,then the selection of the option may identify a condition to havetargeted content directed to promotional information on differentmortgage products be provided to the user. In another example, a usermay have called and spoken with a technical support representative aboutan issue the user is having with a product. Here, the routing of thecall to the technical support representative may serve as a conditionfor providing targeted content to the user in the form of a survey onthe technical support representative's effectiveness in addressing theuser's issue. Accordingly, content controls rules may define certaintriggering events that serve as conditions for providing targetingcontent.

In addition, content control rules may define other conditions forproviding targeted content. For example, a content control rule mayindicate a conclusion of a call as a condition for providing targetedcontent to a user. In another illustration, detection of idle time(e.g., an idle instance) experienced by a user during a call mayindicate a condition for providing targeted content. For example, anidle instance may represent a time when a user has been placed on holdduring a call to wait for a customer service representative to becomeavailable. Third parties may define content control rules to takeadvantage of these idle instances since such instances may identifytimes where users have the attention to interact and/or view targetedcontent. In addition, the content control rules may define time frames(e.g., times of day, days of the week, holidays, and/or the like) inwhich the targeted content is to be provided or other circumstancesdefined by a third party. Furthermore, the content control rules maydefine actions to be carried out in addition to providing targetedcontent such as establishing, terminating/blocking, or suspending calls,providing announces that targeted content is available, and/or the like.

As previously noted, a third party can define multiple content controlrules for controlling the delivery and access to targeted content usingvarious types of call companion interfaces. For example, deliveringtargeted content may involve a call companion interface in the form of abrowser resident on a user's mobile device 105 and/or user computingentity 125, a call companion interface in the form of an applicationresident on a user's mobile device 105 and/or user computing entity 125,and/or a call companion interface that is launched via a feature foundon the user's mobile device 105 and/or user computing entity 125 such asa hyperlink in a text message and/or email. Depending on the embodiment,the call companion interface may be structured for displaying targetedcontent using different configurations. For example, the call companioninterface may be structured so that the interface is displayed on aportion of a screen on the user's mobile device 105 and/or usercomputing entity 125. In some embodiments, the call companion interfacemay be configured so that the user can size the interface as desired. Insome embodiments, the call companion interface may include one or moredisplay components such as page/browser tabs, windows, view panes,and/or the like that can be used in displaying different targetedcontent. Accordingly, the one or more display components may be providedside-by-side on non-overlapping potions of the call companion interface,may be provided as overlapping (e.g., superimposed over one another) onthe call companion interface, may be provided in tabular form, and/orthe like. In addition, the display components may be displayed invarious sizes and dimensions with respect to the call companioninterface. Further, the display components may be display staticallyand/or dynamically such as pop-up windows.

In addition, in some embodiments, the targeted content may be providedto the user through multiple call companion interfaces displayed atdifferent times or at virtually the same time side-by-side or with oneinterface superimposed over a portion of or an entire second interface.For example, in one embodiment, multiple call companion interfaces maybe displayed as superimposed over one another (or portion thereof) in acascading fashion. Further, the call companion interface(s) may bedisplayed in various sizes and dimensions, as well as statically ordynamically. Furthermore, the call companion interface may be displayedvia a device (e.g., mobile device 105 and/or user computing entity 125)that is separate from the device being used to handle the call. Thus,depending on the embodiment, the targeted content may be provided,displayed, and/or positioned in a variety of different ways on one ormore call companion interfaces having one or more display componentsthat are accessed on the same or different device than the device beingused to handle the call.

Furthermore, in particular embodiments, a call companion interface usedfor displaying targeted content may provide functionality with respectto the targeted content. For example, the call companion interface maypresent controls (e.g., play, stop, rewind, fast forward buttons)through which the user can interact with and/or control viewing of thetargeted content. In addition, the call companion interface may be usedconcurrently with interfaces for other applications. For example, thecall may involve a video call being conducted through a video displayinterface. Accordingly, the call companion interface may be overlaid onthe video display interface (e.g., overlaid on a portion of the videodisplay interface), may be transparent with respect to the video displayinterface, may have functionality to allow the user to toggle back andforth between the two interfaces, and/or the like. In some embodiments,the call companion interface may be configured to integrate the callinto the interface along with the targeted content. Those of ordinaryskill in the art can envision other configurations of the call companioninterface that may be utilized in light of this disclosure.

In particular embodiments, the target phone numbers, targeted content,call companion interfaces, content control rules, and/or the like can bestored locally in a data structure such as, for example, a database onthe mobile devices 105 and/or user computing entities 125 of users. Sucha structure 400 is shown in FIG. 4. Here, the structure 400 includesvarious data entities (e.g., fields) storing data on targeted contentfor different third parties. Specifically, the structure 400 includes adata entity 410 used in storing the target phone numbers for thedifferent third parties. As previously noted, these target phone numberscan be used in identifying what calls may involve providing targetedcontent to users on the calls. In addition, the structure 400 includes adata entity 415 for storing the third party (e.g., source) associatedwith each of the target phone numbers. Further, the structure 400includes a data entity 420 for identifying the call companion interfaceused in providing the targeted content, as well as a data entity 425identifying the targeted content. For example, the data entity 425 mayinclude a URL for the targeted content in the form of a webpage, thetargeted content itself (e.g., an image file), some type of identifier(e.g., a pointer) for retrieving the targeted content, and/or the like.Finally, the structure 400 includes data entities 430, 435 defining thecontent control rules for delivering the associated targeted content.Those of ordinary skill in the art should understand that otherconfigurations of the data structure 400 may be used in otherembodiments.

In some embodiments, the call management computing entity 100 (e.g., incommunication with the mobile devices 105 and/or user computing entities125 of users) may update the data structure 400 on the mobile devices105 and/or user computing entities 125 regularly, periodically,continuously, and/or in response to certain triggers. In otherembodiments, the data structure 400 can be stored remotely from themobile devices 105 and/or user computing entities 125 by the callmanagement computing entity 100. In these particular embodiments, themobile devices 105 and/or user computing entities 125 may need tocommunicate in real time or near real time with the call managementcomputing entity 100 to determine/identify whether targeted contentshould be provided. As will be recognized, a variety of other approachesand techniques can be used to adapt to various needs and circumstances.

2. Targeted Content Delivery

In various embodiments, targeted content may be provided to a user as aresult of the user placing or receiving a call on a mobile device 105and/or user computing entity 125 associated with a target phone number.Here, the mobile device 105 and/or user computing entity 125 (e.g.,executing a targeted content program) can determine/identify whether thecorresponding inbound or outbound number is one of a plurality of targetphone numbers (Block 505 of FIG. 5). This may require that the usernavigates one or more menus, dialogue boxes, prompts, screens, verbalcommands, and/or the like to place the outbound call and/or receive aninbound call. For instance, as the user dials a phone number via themobile device 105 and/or user computing entity 125 (e.g., executing atargeted content program) or otherwise initiates a call, the mobiledevice 105 and/or user computing entity 125 can determine/identifywhether the dialed number is one of a plurality of target phone numberslisted in the data structure 400. Such an operation may be performed asthe user types or once the user, for example, clicks, pushes, selects,and/or other words used herein interchangeably sends via the mobiledevice 105 and/or user computing entity 125. To determine/identifywhether the number is one of the plurality of target phone numbers, themobile device 105 and/or user computing entity 125 can access the localdata structure 400 to determine/identify whether a corresponding matchexists.

In other embodiments, the mobile device 105 and/or user computing entity125 can transmit or originate the inbound call via an appropriatecomputing entity in communication with the mobile device 105 and/or usercomputing entity 125 (e.g., call management computing entity 100, mobiledevice communications network, callee device/entity, and/or the like) tomake such determinations. In these embodiments, the appropriatecomputing entity (e.g., call management computing entity 100, mobiledevice communications network, callee device/entity, and/or the like) incommunication with the mobile device 105 and/or user computing entity125 can make such determinations and carry out the content control rulesusing a variety of signaling and notification approaches and techniques,including push notifications to an application on the mobile device 105and/or user computing entity 125. A variety of other approaches andtechniques can be used to adapt to various needs and circumstances. Forinstance, as will be recognized, the same can be applied to calls thatare being received by the mobile device 105 and/or user computing entity125.

In particular embodiments, if an inbound or outbound number isdetermined/identified not be a target phone number, then the mobiledevice 105 and/or user computing entity 125 (or appropriate computingentity) can allow the call to proceed with normal call operation (Block505 of FIG. 5). Such normal call operation may include, for example,connecting (e.g., establishing) the call between the parties. As will berecognized, a variety of other approaches and techniques can be used toadapt to various needs and circumstances.

However, if the inbound or outbound call corresponds to a number that isdetermined to be a target phone number, then the mobile device 105and/or user computing entity 125 (or appropriate computing entity) canidentify and/or deliver targeted content to the user through a callcompanion interface associated with the mobile device 105 and/or usercomputing entity 125 or associated with a mobile device 105 and/or usercomputing entity 125 separate than the mobile device 105 and/or usercomputing entity 125 being used to handle the call. For example, thecall companion interface may be in the form of a browser residing on theuser's mobile device 105 and/or user computing entity 125 that isinitialized to a web address. In another example, the call companioninterface may be in the form of an application residing on the user'smobile device 105 and/or user computing entity 125. Such a configurationallows the targeted content to be provided to the user in concert withthe call. In other words, the targeted content can be provided throughthe call companion interface to enhance and/or supplement the call asthe user is interacting on the call and/or once the call has beencompleted. In some instances, the call may be disconnected, and thetargeted content is delivered to the user as an alternative toconducting the call.

For example, the user may have called a target phone number provided byan airline (e.g., Delta) that can be used to check the status of aflight. Here, the user may have placed the call during non-businesshours when customer service representatives are not available.Therefore, a content control rule may be defined that indicates the callshould be terminated and targeted content in the form of one or morewebpages having functionality to check flight status that are providedthrough a call companion interface in the form of a browser on theuser's mobile device 105 and/or user computing entity 125 so that theuser may then look up the status of the flight. While in anotherexample, the user may be given an option to have the targeted content(e.g., the functionality to check flight status via the one or morewebpages) provided and the call disconnected. In this particularembodiment, a content control rule may be defined to inquiry from theuser whether he or she would like to have the targeted content providedin lieu of waiting on the call for a customer service representative.

Still, in another example, targeted content may be provided to the useronce the call has normally completed and is disconnected. For example,the user may have conversed with a technical support representativeduring the call to discuss an issue the user is having with a product.After the call has been completed and the user hangs up the call,targeted content in the form of a survey may be provided to the user sothat he or she may furnish feedback on the technical supportrepresentative's effectiveness during the call. Here, the targetedcontent may be provided by sending the user a hyperlink in a textmessage and/or email that the user can select to launch a call companioninterface to take the survey.

In other instances, targeted content may be provided to the user duringa call when the user is determined to be idle (e.g., during an idleinstance). For example, the user may be placed in a waiting queue (e.g.,placed on hold) to wait for an agent (e.g., customer servicerepresentative) to become available to speak with the user. Here, thetargeted content may be provided to the user while the user is waitingin the queue. The data provided may be dynamic to include the updatedwait time, for example. In one embodiment, the wait time may be anestimated wait time by using various mathematical operations andfunctions to determine the estimate, such as number of callers, types ofcalls, number of available agents, time of day, etc. In anotherembodiment, the wait time may be a predicted wait time by using one ormore machine learning models. For example, the various features may beinput into the one or more machine learning models, such as the numberof callers, types of calls, number of available agents, time of day,etc. These features may be used by the one or more machine learningmodels to generate a predicted output of the likely wait time.

In some instances, the targeted content may be configured to attempt tohandle the user's reason for the call, and thus eliminate the user'sneed to speak with the agent. For example, the user may have called tocheck the status of a purchase order that the user made online. In thisexample, targeted content in the form of functionality accessed througha browser and/or an application resident on the user's mobile device 105and/or user computing entity 125 may be provided that allows the user tolook up the status of the purchase order without the need of an agent'sassistance.

Furthermore, targeted content may be delivered to the user during a callbased at least in part on an occurrence of some triggering event (e.g.,condition). For example, the user may be navigating through aninteractive voice response system (IVR), selects a particular option,and as a result, targeted content may be provided to the user based atleast in part on the selected option. For instance, the user may haveselected an option to place a sales order, and as a result, a digitalcatalog of products may be provided to the user through a call companioninterface so that the user may view what products are available fororder. In another example, the user may be conversing with a technicalsupport representative on an issue the user is having with a particularproduct. Here, the user and/or technical support representative mayidentify the product through some mechanism such as speechanalytics/recognition and a corresponding content control rule mayindicate that a digital manual for the product should be provided to theuser during the call so that the user can reference the manual as he orshe and the technical support representative work through the issue.Other types of triggering events can be used in various embodiments asthose of ordinary skill in the art can envision in light of thisdisclosure.

Returning to FIG. 5, after determining/identifying that the inbound oroutbound number (e.g., a dialed shortened number) is a target phonenumber, the mobile device 105 and/or user computing entity 125 (orappropriate computing entity) can identify the applicable contentcontrol rules (Block 510 of FIG. 5). As previously discussed, thecontent control rules may define a variety of actions that are to beperformed by the mobile device 105 and/or user computing entity 125 (orappropriate computing entity) with respect to providing targeted contentto the user. For example, such actions may involve initializing a callcompanion interface to use for providing targeted content such asopening a browser or a new tab in a browser to an identified webpage oropening an application resident on the mobile device 105 and/or usercomputing entity 125, terminating and/or blocking the call, providingthe user with an option for having targeted content delivered, sending amechanism to access targeted content through an alternativecommunication channel, and/or the like.

After identifying the one or more applicable content control rules, themobile device 105 and/or user computing entity 125 (or appropriatecomputing entity) executes the applicable content control rule(s)accordingly (Block 515 in FIG. 5). Here, executing the applicablecontent control rule(s) may involve monitoring conditions, events,actions, and/or the like that may indicate targeted content should beprovided to the user through a call companion interface. Therefore, inparticular embodiments, the mobile device 105 and/or user computingentity 125 (or appropriate computing entity) determines whether acondition, event, action associated with an applicable content controlrule indicates disconnecting the call (Block 520 of FIG. 5). Aspreviously noted, the appropriate content control rule may indicate toprovide targeted content to the user in lieu of conducting the call oronce the call has been completed. For example, an applicable contentcontrol rule may indicate that for a call placed to and/or received fromthe target phone number during a certain time window, a browser shouldbe opened to a call companion interface in the form of a browserinitialized to a web address and the call disconnected. In anotherexample, an applicable content control rule may indicate that for a callfielded by a customer service representative, targeted content in theform of a survey should be delivered to the user once the call hasconcluded. Yet, in another example, an applicable content control rulemay indicate that targeted content should be delivered to the user andonce the user accepts delivery of the targeted content and/or begins tointeract with the targeted content through a call companion interface,then the call should be disconnected.

Therefore, if the mobile device 105 and/or user computing entity 125 (orappropriate computing entity) determines the call should bedisconnected, then the mobile device 105 and/or user computing entity125 (or appropriate computing entity) determines whether targetedcontent should be provided to the user based at least in part on thecall being disconnected (Block 525 in FIG. 5). If so, then the mobiledevice 105 and/or user computing entity 125 (or appropriate computingentity) has the targeted content provided to the user (Block 530 in FIG.5). As previously discussed, the targeted content is provided to theuser in various embodiments through a call companion interface. The callcompanion interface may be provided in various forms to the user,include a split screen with the call interface, superimposed on the callinterface, and/or the like. Accordingly, the applicable content controlrule may identify the call companion interface that is to be used inproviding the targeted content to the user. For example, the contentcontrol rule may indicate that a hyperlink that can be selected by theuser to open a call companion interface to access the targeted contentshould be sent to the user. Here, the hyperlink may be sent to theuser's mobile device 105 and/or user computing entity using some type ofchannel of communication such as, for example, a text message or emailmessage. At that point, the mobile device 105 and/or user computingentity 125 (or appropriate computing entity) disconnects/terminates thecall (Block 535 in FIG. 5).

Accordingly, the mobile device 105 and/or user computing entity 125 (orappropriate computing entity) may disconnect/terminate the call usingvarious mechanisms. For example, the mobile device 105 and/or usercomputing entity 125 (or appropriate computing entity) may simply dropthe call (hang up), send a signal to a call management computing entity100 and/or mobile device communications network to terminate the call,and/or the like.

In particular embodiments, the mobile device 105 and/or user computingentity 125 (or appropriate computing entity) may also determine whethera triggering event identified by an applicable content control rule hasoccurred (Block 540 in FIG. 5). If so, then the mobile device 105 and/oruser computing entity 125 (or appropriate computing entity) provides thetargeted content associated with the applicable content control rule andtriggering event to the user via a call companion interface (Block 550in FIG. 5).

Accordingly, depending on the embodiment, a triggering event may involveany number of different conditions, actions, acts, occurrences,circumstances, and/or the like. For example, a content control rule maybe defined for Chase bank that indicates that if a user, who isinteracting with an IVR, selects an option to listen to information onmortgage products offered by the bank, then targeted content listing themost recent mortgage rates is to be provided via a call companioninterface in the form of an application resident on the user's mobiledevice 105 and/or user computing entity 125. While in another instance,the content control rule may indicate the targeted content is to bepushed to the application and an announcement is provided to the userinstructing the user to open the application to see the most recentmortgage rates. Therefore, as a result of the content control ruledefining the triggering event and the user selecting the option in theIVR to listen to information on the mortgage products, the targetedcontent displaying the most recent mortgage rates is provided to theuser.

Further, in particular embodiments, the mobile device 105 and/or usercomputing entity 125 (or appropriate computing entity) may determinewhether the user is experiencing (or may experience) an idle instance asdefined by an applicable content control rule (Block 545 in FIG. 5). Ifso, then the mobile device 105 and/or user computing entity 125 (orappropriate computing entity) provides the targeted content identifiedby the applicable content control rule through a call companioninterface to the user (Block 550 in FIG. 5).

As previously noted, such content control rules may be implemented insome embodiments to provide the user with supplemental content and/orreplacement content through a call companion interface in addition toand/or in lieu of the content that may be obtained via the call. Thus,in various instances, the user may use the call companion interface inconcert with the call and/or in place of the call. For example, the usermay have been placed on hold, waiting to speak with a customer servicerepresentative. In this example, the user may then be provided withtargeted content through a call companion interface after being placedon hold for a certain period of time that may replace the user's need tocontinue to remain on hold to speak with a customer servicerepresentative. That is to say, the targeted content may be provided viathe call companion interface as an alternative to remaining on hold.

Here, in particular embodiments, the mobile device 105 and/or usercomputing entity 125 (or appropriate computing entity) may be configuredto determine whether the idle instance for the user satisfies aconfigurable idle threshold. For example, the mobile device 105 and/oruser computing entity 125 (or appropriate computing entity) may beconfigured to determine whether the amount of time the user has beenidle satisfies a time threshold. Accordingly, depending on theembodiment, the mobile device 105 and/or user computing entity 125 (orappropriate computing entity) may identify whether the idle instancesatisfies the configurable idle threshold using a number of differentmechanisms.

For instance, in particular embodiments, the mobile device 105 and/oruser computing entity 125 (or appropriate computing entity) mayautomatically implement a timer when a start of an idle instance isdetected. For example, in one embodiment, the mobile device 105 and/oruser computing entity 125 (or appropriate computing entity) may detectthe start of the idle instance based at least in part on an occurrenceof an event, such as when the user is placed in a hold queue. In anotherembodiment, the mobile device 105 and/or user computing entity 125 (orappropriate computing entity) may detect the start of an idle instanceusing artificial intelligence (e.g., speech analytics/recognitiontechnology), audio features (e.g., absence of data packets for Voiceover Internet Protocol (VoIP) call), and/or the like to detect silenceon the call indicating the start of the idle instance. Yet, in anotherembodiment, the mobile device 105 and/or user computing entity 125 (orappropriate computing entity) may detect the start of an idle instanceusing some type of artificial intelligence (e.g., visual technology on avideo call) to visually detect a user displayinginactivity/non-engagement (e.g., sitting stationary) while on the call.

In some embodiments, the mobile device 105 and/or user computing entity125 (or appropriate computing entity) may make use of some type ofmachine learning model in predicting when an idle instance is occurringor may occur. For example, the machine learning model may be asupervised or unsupervised machine learning model trained to predictwhen the user is experiencing and/or is expected to experience an idleinstance while on the call. For instance, the machine learning model maybe based at least in part on a support vector machine and/or artificialneural network. Here, the machine learning model may be configured toprocess various inputs gathered while the user is on the call such asspeech spoken by the user, images of the user, options selected by theuser, workflow scripts executed during the call, and/or the like topredict the start of an idle instance or when an idle instance isexpected to start. Predicting when an idle instance is expected to startcan facilitate providing the targeted content to the user before theidle instance so that the content is available upon the idle instancebeginning.

In addition, although not shown in FIG. 5, the mobile device 105 and/oruser computing entity 125 (or appropriate computing entity) may beconfigured in some embodiments to provide the targeted content while theuser is idle and then remove the content once the user is no longeridle. For example, the targeted content may involve displaying a videoto the user via a call companion interface such as an applicationresident on the user's mobile device 105 and/or user computing entity125 while the user is placed on hold waiting to speak with a customerservice representative. Accordingly, once the call is taken off hold andconnected with a customer service representative, the mobile device 105and/or user computing entity 125 (or appropriate computing entity) mayrecognize a representative is now connected to the call (e.g., therepresentative's voice is detected on the corresponding voice channel ofthe call) and as a result, discontinue the video to indicate to the userthat he or she has been connected with the customer servicerepresentative. In some embodiments, similar to predicting the start ofan idle instance, a machine learning model may be used in predicting theend of an idle instance.

Accordingly, in various embodiments, the mobile device 105 and/or usercomputing entity 125 (or appropriate computing entity) may continue toexecute the applicable content control rule(s) and in conjunction withthe applicable content control rule(s), determine whether to disconnectthe call, determine whether a triggering event has occurred, and/ordetermine whether the user is experiencing an idle instance to identifywhen targeted content should be provided to the user via a callcompanion interface. As previously mentioned, in particular instances,the call companion interface may work in concert with the call asanother source of content for the user. Here, for example, the user maybe instructed while on the call to engage with the call companioninterface to be provided targeted content during and/or after the call.Depending on the circumstances, the user's mobile device 105 and/or usercomputing entity 125 (or appropriate computing entity) may launch,initiate, open, and/or the like the call companion interfaceautomatically to provide the targeted content or the user may beinstructed to do so. Further, the user may be instructed via the call(e.g., call interface) and/or the call companion interface to operateback and forth between the two to gather content as needed. For example,the user may be engaged in a video call and using a video displayinterface for the call. In this example, the user may then toggle backand forth between the video display interface for the call and the callcompanion interface while on the call. While in other instances, thecall companion interface may be superimposed over a portion of the videodisplay interface so that the user may view both at the same time. Thoseof ordinary skill in the art can envision various configurations of thecall companion interface that can be used in light of this disclosure tofacilitate providing targeted content to the user.

3. Third Party can Provide Targeted Content

In particular embodiments, in addition to an appropriate computingentity (e.g., call management computing entity 100, mobile devicecommunications network, callee device/entity, and/or the like) providinginstructions to mobile devices 105 and/or user computing entity 125(e.g., executing a targeted content program) to carry out and/or performcertain actions, a third party computing entity 120 associated with athird party can also provide such instructions to the mobile devices 105and/or user computing entity 125. For example, before, simultaneous to,during, and/or after a call associated with a mobile device 105 and/oruser computing entity 125, the third party computing entity 120 canprovide instructions to the user's mobile device 105 and/or usercomputing entity 125 (or separate device or computing entity) toinitiate providing targeted content to the user. For example, assume auser calls Delta using his mobile device 105 and/or user computingentity 125. Delta can intercept the call, and provide instructions tothe mobile device 105 and/or user computing entity 125 for carrying outthe initiation of providing targeted content to the user through a callcompanion interface (e.g., launching a browser directed to a webpagethrough which the targeted content is provided). As will be recognized,the third party computing entity 120 and/or appropriate computing entity(e.g., call management computing entity 100, mobile devicecommunications network, callee device/entity, and/or the like) canprovide instructions to such mobile devices 105 and/or user computingentities 125 to carry out and/or perform a variety of actions before,simultaneous to, during, and/or after a call. As will be recognized, avariety of other approaches and techniques can be used to adapt tovarious needs and circumstances.

4. Example Targeted Content

FIGS. 6 and 7 provide examples of targeted content provided through acall companion interface in accordance with various embodiments of thedisclosure. FIG. 6 is an example of targeted content provided as one ormore webpages via a call companion interface in the form of a browser600 resident on the user's mobile device 105 and/or user computingentity 125. Accordingly, the browser 600 may be initialized to providethe one or more webpages to the user as a result of the user placing acall to a third party (e.g., Delta) in which the call is associated witha target phone number. Here, the browser 600 provides the user withaccess to the one or more webpages having functionality that the usermay exercise. FIG. 7 is an example targeted content in the form of avideo for the user to view through a call companion interface such as anapplication 700 resident on his or her mobile device 105 and/or usercomputing entity 125. As previously mentioned, in particularembodiments, a third party (e.g., Delta) may provide such targetedcontent to the user in particular instances as supplemental content. Forexample, the third party may provide the video for the user to viewwhile the user is waiting on hold to speak with a customer servicerepresentative. Such targeted content may keep the user entertainedand/or engaged in the call while waiting on hold and idle.

V. Conclusion

Many modifications and other embodiments of the disclosure set forthherein will come to mind to one skilled in the art to which theseinventions pertain having the benefit of the teachings presented in theforegoing descriptions and the associated drawings. Therefore, it is tobe understood that the inventions are not to be limited to the specificembodiments disclosed and that modifications and other embodiments areintended to be included within the scope of the appended claims.Although specific terms are employed herein, they are used in a genericand descriptive sense only and not for purposes of limitation.

1. A method for providing targeted content to a user, the methodcomprising: determining, via one or more processors, whether a phonenumber for a digital call involving at least one of a mobile device or auser computing entity is one of a plurality of target phone numbers;responsive to determining that the phone number is one of the pluralityof target phone numbers, identifying, via the one or more processors,one or more content control rules associated with the phone number;responsive to identifying the one or more content control rules,identifying, via the one or more processors, one or more actions to becarried out in accordance with the one or more content control rules,wherein at least one of the one or more actions involves providing thetargeted content via a call companion interface available through the atleast one of the mobile device or the user computing entity in responseto an occurrence of an idle instance experienced by the user while onthe digital call; identifying, via the one or more processors, theoccurrence of the idle instance experienced by the user while on thedigital call; and responsive to identifying the occurrence of the idleinstance, providing, via the one or more processors, the targetedcontent for display via the call companion interface available throughthe at least one of the mobile device or the user computing entity. 2.The method of claim 1, wherein the one or more processors are executingon the at least one of the mobile device or the user computing entity.3. The method of claim 1, wherein the one or more processors areexecuting on a call management computing entity remote from the at leastone of the mobile device or the user computing entity.
 4. The method ofclaim 1, wherein identifying the occurrence of the idle instancecomprises: determining, via the one or more processors, that the idleinstance satisfies a configurable idle threshold; and responsive to theidle instance satisfying the configurable idle threshold, identifyingthe occurrence of the idle instance.
 5. The method of claim 4, whereinthe configurable idle threshold comprises an amount of idle time anddetermining the idle instance satisfies the configurable idle thresholdcomprises: identifying, via the one or more processors, a start of theidle instance; and determining the user experiencing the idle instancefrom the start of the idle instance for the amount of idle time.
 6. Themethod of claim 5, wherein determining the user experiencing the idleinstance from the start of the idle instance for the amount of idle timecomprises: detecting, via the one or more processors, an absence of theuser speaking on the digital call from the start of the idle instancefor the amount of idle time via at least one of artificial intelligenceor an audio feature of the at least one of the digital call.
 7. Themethod of claim 1, wherein identifying the occurrence of the idleinstance comprises: processing, via the one or more processors, one ormore features of the at least one of the digital call using a machinelearning model to generate a prediction of the occurrence of the idleinstance; and identifying the occurrence of the idle instance based atleast in part on the prediction.
 8. The method of claim 1, wherein thetargeted content comprises a webpage, the call companion interfacecomprises a browser, and providing the targeted content for display viathe call companion interface comprises: causing the browser resident onthe at least one of the mobile device or the user computing entity tolaunch to a web address for the webpage.
 9. The method of claim 1,wherein the targeted content comprises application-enabled content, thecall companion interface comprises an application resident on the atleast one of the mobile device or the user computing entity, andproviding the targeted content for display via the call companioninterface comprises: providing the application-enabled content to the atleast one of the mobile device or the user computing entity; and causingthe application to launch to display the application-enabled content.10. The method of claim 1, wherein providing the targeted content fordisplay via the call companion interface comprises: providing ahyperlink through a communication channel that is selectable through theat least one of the mobile device or user computing entity to access thetargeted content; and responsive to a selection of the hyperlink,causing the call companion interface to launch to display the targetedcontent.
 11. The method of claim 1 further comprising: responsive todetermining that the phone number is not one of the plurality of targetphone numbers, allowing the at least one of the digital call to follownormal call operation.
 12. An apparatus for providing targeted contentto a user, the apparatus comprising at least one processor and at leastone memory including program code, the at least one memory and theprogram code configured to, with the at least one processor, cause theapparatus to at least: determine whether a phone number for a digitalcall involving at least one of a mobile device or a user computingentity is one of a plurality of target phone numbers; responsive todetermining that the phone number is one of the plurality of targetphone numbers, identify one or more content control rules associatedwith the phone number; responsive to identifying the one or more contentcontrol rules, identify one or more actions to be carried out inaccordance with the one or more content control rules, wherein at leastone of the one or more actions involves providing the targeted contentvia a call companion interface available through the at least one of themobile device or the user computing entity in response to an occurrenceof an idle instance experienced by the user while on the digital call;identify the occurrence of the idle instance experienced by the userwhile on the digital call; and responsive to identifying the occurrenceof the idle instance, provide the targeted content for display via thecall companion interface available through the at least one of themobile device or the user computing entity.
 13. The apparatus of claim12, wherein the apparatus comprises the at least one of the mobiledevice or the user computing entity.
 14. The apparatus of claim 12,wherein the apparatus comprises a call management computing entityremote from the at least one of the mobile device or the user computingentity.
 15. The apparatus of claim 12, wherein the at least one memoryand the program code are configured to, with the at least one processor,cause the apparatus to identify the occurrence of the idle instance by:determining that the idle instance satisfies a configurable idlethreshold; and responsive to the idle instance satisfying theconfigurable idle threshold, identifying the occurrence of the idleinstance.
 16. The apparatus of claim 12, wherein the at least one memoryand the program code are configured to, with the at least one processor,cause the apparatus to identify the occurrence of the idle instance by:processing one or more features of the at least one of the digital callusing a machine learning model to generate a prediction of theoccurrence of the idle instance; and identifying the occurrence of theidle instance based at least in part on the prediction.
 17. Anon-transitory computer storage medium comprising instructions forproviding targeted content to a user, the instructions being configuredto cause one or more computer processors to at least perform operationsconfigured to: determine whether a phone number for a digital callinvolving at least one of a mobile device or a user computing entity isone of a plurality of target phone numbers; responsive to determiningthat the phone number is one of the plurality of target phone numbers,identify one or more content control rules associated with the phonenumber; responsive to identifying the one or more content control rules,identify one or more actions to be carried out in accordance with theone or more content control rules, wherein at least one of the one ormore actions involves providing the targeted content via a callcompanion interface available through the at least one of the mobiledevice or the user computing entity in response to an occurrence of anidle instance experienced by the user while on the digital call;identify the occurrence of the idle instance experienced by the userwhile on the digital call; and responsive to identifying the occurrenceof the idle instance, provide the targeted content for display via thecall companion interface available through the at least one of themobile device or the user computing entity.
 18. The non-transitorycomputer storage medium of claim 17, wherein one or more computerprocessors are executing on the at least one of the mobile device or theuser computing entity.
 19. The non-transitory computer storage medium ofclaim 17, wherein the one or more computer processors are executing on acall management computing entity remote from the at least one of themobile device or the user computing entity.
 20. The non-transitorycomputer storage medium of claim 17, wherein the instructions areconfigured to cause the one or more computer processors to at leastperform operations configured to identify the occurrence of the idleinstance by: determining that the idle instance satisfies a configurableidle threshold; and responsive to the idle instance satisfying theconfigurable idle threshold, identifying the occurrence of the idleinstance.
 21. The non-transitory computer storage medium of claim 17,wherein the instructions are configured to cause the one or morecomputer processors to at least perform operations configured toidentify the occurrence of the idle instance by: processing one or morefeatures of the at least one of the digital call using a machinelearning model to generate a prediction of the occurrence of the idleinstance; and identifying the occurrence of the idle instance based atleast in part on the prediction.